﻿namespace che12
{
    internal class Text9
    {
        static void Main(string[] args)
        {
            Console.WriteLine("条件运算符");
            //1.条件运算符
            //用于比较两个变量或常量
            //是否大于>
            //是否小于<
            //是否等于==
            //是否不等于!=
            //是否大于等于>=
            //是否小于等于<=

            //条件运算符  不能直接使用
            //左边内容   条件运算符   右边内容
            int a = 5;
            int b = 10;
            //a>b
            //不能这样用↑
            //纯比较不用结果 那么对于我们来说 没有任何意义

            //比较的结果，返回的是一个布尔类型的值（真假类型）
            //true和false 如果比较的条件满足，就返回true，否则返回false
            //先看右边再赋值给左边
            bool A = a > b;
            Console.WriteLine(A);//正确打印true，错误打印false
            A = a < b;
            Console.WriteLine(A);
            A = a >= b;
            Console.WriteLine(A);
            A = a <= b;
            Console.WriteLine(A);
            A = a == b;//a和b相等才会打印true
            Console.WriteLine(A);
            A = a != b;//a和b不等于打印true；
            Console.WriteLine(A);
            //各种应用的写法
            a = 3;
            b = 6;
            //变量和变量比较
            A = a > b;//false
            //变量和数值（常量）比较
            A = a > 2;//true
            //数值和数值
            A = 3 != 1;//true
            //计算结果比较
            //条件运算符的优先级低于 算术运算符（先计算再比较）
            A = a + 1 > b / 2 + 1;//false
                                  //1>a>2
                                  //↑不能这样写
                                  //要判断一个变量是否在两个数中间  要结合  逻辑运算符 的知识点 

            //4.不同类型之间的比较
            //不同数值类型之间，可以随意进行数值比较
            //int,sbyte,short,uint,float,double等相互都可以比较，累了，直接略过，不难
            //特殊类型 char,string,bool只能同类型进行==和!=比较
            string str = "123";
            char c = 'A';
            bool bo = true;

            A = str == "234";//false
            A = str != "234";//true
            A = c == 'b';//false
            //不仅可以跟同类型比较==  、!=比较，还可以和数值进行比较
            //还可以和字符类型进行大小比较
            A = c > 123;
            A = c > 'B';//会转变成ASCII码值

            A = bo == true;

            //作业
            //1.请口答下列表达式的结果
            //我的年龄（18）> 你们的年龄（22）false
            //兔子的速度（3m / s）< 乌龟的速度（0.3m / s）false
            //狗的重量（50kg）< 兔子的重量（5kg）false
            //我身上的Money（10元）== 你身上也有Money（10元）true

            //2.求打印结果是什么?
            bool b1 = true;
            Console.WriteLine(b1 != true);//false

            Console.WriteLine(10 == 10);//true
            Console.WriteLine(10 > 20);//false
            Console.WriteLine(10 <= 20);//true
            Console.WriteLine(10 <= 10);//true

            //3.
            bool gameOver, startGame;
            int a2 = 10, b2 = 15;
            gameOver = a2 > (b2 - 5);//false
            startGame = gameOver == (b2 > (a2 + 5));//false
            //gameOver=false,false=false,所以下面startGame=true
            Console.WriteLine("startGame = " + startGame);
            //请问打印结果是什么 ?
            //ture
        }
    }
}
